#include <unordered_map>
#include <string>
#include <ostream>
#include <fstream>
#include <sstream>
#include <iostream>
#include <map>
using namespace std;

void test(){
    unordered_map<string,string> map_m;
    // 逐行处理输入文本
    string line;
    ifstream ifs_map("map.txt");
    while (std::getline(ifs_map, line)) {
        size_t space_pos = line.find(' ');
        if (space_pos != std::string::npos) {
            // 提取键和值
            string key = line.substr(0, space_pos);
            string value = line.substr(space_pos + 1);
            map_m[key] = value;
        }
        // 可选的 else 分支处理没有空格的行（根据需求决定是否保留）
    }
    ifstream ifs_file("file.txt");
    string line1;
    while(getline(ifs_file,line1)){
        string word;
        istringstream iss(line1);
        while(iss >> word){
            int flag = 1;
            for(auto & ll : map_m){
                if(ll.first == word){
                    cout << ll.second << " ";
                    flag = 0;
                    break;
                }
            }
            if(flag)
            cout << word << " ";
            } 
        cout << endl;
    }
}



int main(int atgc, char * argv[])
{
    test();
    return 0;
}

